feat(release): add digital signature to Toolbox binaries#3528
Conversation
There was a problem hiding this comment.
Code Review
This pull request integrates automated binary signing into the release pipeline by uploading unsigned binaries to an unsigned bucket, triggering Kokoro signing jobs for Linux, macOS, and Windows, and waiting for the signed assets before publishing. It also updates the quickstart documentation with instructions on how to verify these signatures. The reviewer feedback suggests adding timeout limits to the polling loops in the CI scripts to prevent indefinite hangs, fixing a potential 404 error for Windows downloads in the documentation, wrapping the GPG signature URL in release-please markers for automated versioning, and standardizing markdown indentation to avoid Hugo rendering issues.
…l instead of gsutil
|
🧨 Preview deployments removed. Cloudflare Pages environments for |
…low (#3528) - Upload unsigned binaries to unsigned GCS bucket instead. - Check that signed binaries are uploaded to the signed bucket when generating the release table. - Add user guide to validate digital signature. Fix: #996 --------- Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 3f0f0af
🤖 I have created a release *beep* *boop* --- ## [1.6.0](v1.5.0...v1.6.0) (2026-06-30) ### Features * Support MCP 2026 draft specs ([#3544](#3544)) ([d12eaa8](d12eaa8)) * **release:** Add digital signature to Toolbox binaries ([#3528](#3528)) ([3f0f0af](3f0f0af)) * **tool/cloud-storage:** Configure object operation parameters ([#3529](#3529)) ([d6dc5fe](d6dc5fe)) * **tool/cloud-storage:** Support configurable parameters ([#3478](#3478)) ([bc2de2a](bc2de2a)) * **tools/dataplex-list-data-products:** Add dataplex-list-data-products tool ([#3337](#3337)) ([6dd669a](6dd669a)) * **tools/dataplex-get-data-product:** Add dataplex-get-data-product tool ([#3499](#3499)) ([7ea7a09](7ea7a09)) * **tools/dataplex-list-data-assets:** Add dataplex-list-data-assets tool ([#3500](#3500)) ([182f933](182f933)) * **tools/looker:** Support complex filter_expression parameter in queries ([#3494](#3494)) ([997fb8c](997fb8c)) * **tools/looker:** Support dynamic_fields parameter in queries ([#3507](#3507)) ([cd22b89](cd22b89)) ### Bug Fixes * **tools/gda:** Support mTLS and GOOGLE_API_USE_MTLS_ENDPOINT for GDA client ([#3460](#3460)) ([cc2a61e](cc2a61e)) * **tools/looker-conversational-analytics:** Validate explore_references shape instead of panicking ([#3531](#3531)) ([b67419d](b67419d)) * **tool/looker-create-view-from-table:** Correct Looker API payload structure ([#3515](#3515)) ([18c539c](18c539c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
🤖 I have created a release *beep* *boop* --- ## [1.6.0](v1.5.0...v1.6.0) (2026-06-30) ### Features * Support MCP 2026 draft specs ([#3544](#3544)) ([d12eaa8](d12eaa8)) * **release:** Add digital signature to Toolbox binaries ([#3528](#3528)) ([3f0f0af](3f0f0af)) * **tool/cloud-storage:** Configure object operation parameters ([#3529](#3529)) ([d6dc5fe](d6dc5fe)) * **tool/cloud-storage:** Support configurable parameters ([#3478](#3478)) ([bc2de2a](bc2de2a)) * **tools/dataplex-list-data-products:** Add dataplex-list-data-products tool ([#3337](#3337)) ([6dd669a](6dd669a)) * **tools/dataplex-get-data-product:** Add dataplex-get-data-product tool ([#3499](#3499)) ([7ea7a09](7ea7a09)) * **tools/dataplex-list-data-assets:** Add dataplex-list-data-assets tool ([#3500](#3500)) ([182f933](182f933)) * **tools/looker:** Support complex filter_expression parameter in queries ([#3494](#3494)) ([997fb8c](997fb8c)) * **tools/looker:** Support dynamic_fields parameter in queries ([#3507](#3507)) ([cd22b89](cd22b89)) ### Bug Fixes * **tools/gda:** Support mTLS and GOOGLE_API_USE_MTLS_ENDPOINT for GDA client ([#3460](#3460)) ([cc2a61e](cc2a61e)) * **tools/looker-conversational-analytics:** Validate explore_references shape instead of panicking ([#3531](#3531)) ([b67419d](b67419d)) * **tool/looker-create-view-from-table:** Correct Looker API payload structure ([#3515](#3515)) ([18c539c](18c539c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 35c13ad
🤖 I have created a release *beep* *boop* --- ## [1.6.0](googleapis/mcp-toolbox@v1.5.0...v1.6.0) (2026-06-30) ### Features * Support MCP 2026 draft specs ([googleapis#3544](googleapis#3544)) ([d12eaa8](googleapis@d12eaa8)) * **release:** Add digital signature to Toolbox binaries ([googleapis#3528](googleapis#3528)) ([3f0f0af](googleapis@3f0f0af)) * **tool/cloud-storage:** Configure object operation parameters ([googleapis#3529](googleapis#3529)) ([d6dc5fe](googleapis@d6dc5fe)) * **tool/cloud-storage:** Support configurable parameters ([googleapis#3478](googleapis#3478)) ([bc2de2a](googleapis@bc2de2a)) * **tools/dataplex-list-data-products:** Add dataplex-list-data-products tool ([googleapis#3337](googleapis#3337)) ([6dd669a](googleapis@6dd669a)) * **tools/dataplex-get-data-product:** Add dataplex-get-data-product tool ([googleapis#3499](googleapis#3499)) ([7ea7a09](googleapis@7ea7a09)) * **tools/dataplex-list-data-assets:** Add dataplex-list-data-assets tool ([googleapis#3500](googleapis#3500)) ([182f933](googleapis@182f933)) * **tools/looker:** Support complex filter_expression parameter in queries ([googleapis#3494](googleapis#3494)) ([997fb8c](googleapis@997fb8c)) * **tools/looker:** Support dynamic_fields parameter in queries ([googleapis#3507](googleapis#3507)) ([cd22b89](googleapis@cd22b89)) ### Bug Fixes * **tools/gda:** Support mTLS and GOOGLE_API_USE_MTLS_ENDPOINT for GDA client ([googleapis#3460](googleapis#3460)) ([cc2a61e](googleapis@cc2a61e)) * **tools/looker-conversational-analytics:** Validate explore_references shape instead of panicking ([googleapis#3531](googleapis#3531)) ([b67419d](googleapis@b67419d)) * **tool/looker-create-view-from-table:** Correct Looker API payload structure ([googleapis#3515](googleapis#3515)) ([18c539c](googleapis@18c539c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 35c13ad
🤖 I have created a release *beep* *boop* --- ## [1.6.0](googleapis/mcp-toolbox@v1.5.0...v1.6.0) (2026-06-30) ### Features * Support MCP 2026 draft specs ([googleapis#3544](googleapis#3544)) ([d12eaa8](googleapis@d12eaa8)) * **release:** Add digital signature to Toolbox binaries ([googleapis#3528](googleapis#3528)) ([3f0f0af](googleapis@3f0f0af)) * **tool/cloud-storage:** Configure object operation parameters ([googleapis#3529](googleapis#3529)) ([d6dc5fe](googleapis@d6dc5fe)) * **tool/cloud-storage:** Support configurable parameters ([googleapis#3478](googleapis#3478)) ([bc2de2a](googleapis@bc2de2a)) * **tools/dataplex-list-data-products:** Add dataplex-list-data-products tool ([googleapis#3337](googleapis#3337)) ([6dd669a](googleapis@6dd669a)) * **tools/dataplex-get-data-product:** Add dataplex-get-data-product tool ([googleapis#3499](googleapis#3499)) ([7ea7a09](googleapis@7ea7a09)) * **tools/dataplex-list-data-assets:** Add dataplex-list-data-assets tool ([googleapis#3500](googleapis#3500)) ([182f933](googleapis@182f933)) * **tools/looker:** Support complex filter_expression parameter in queries ([googleapis#3494](googleapis#3494)) ([997fb8c](googleapis@997fb8c)) * **tools/looker:** Support dynamic_fields parameter in queries ([googleapis#3507](googleapis#3507)) ([cd22b89](googleapis@cd22b89)) ### Bug Fixes * **tools/gda:** Support mTLS and GOOGLE_API_USE_MTLS_ENDPOINT for GDA client ([googleapis#3460](googleapis#3460)) ([cc2a61e](googleapis@cc2a61e)) * **tools/looker-conversational-analytics:** Validate explore_references shape instead of panicking ([googleapis#3531](googleapis#3531)) ([b67419d](googleapis@b67419d)) * **tool/looker-create-view-from-table:** Correct Looker API payload structure ([googleapis#3515](googleapis#3515)) ([18c539c](googleapis@18c539c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 35c13ad
🤖 I have created a release *beep* *boop* --- ## [1.6.0](googleapis/mcp-toolbox@v1.5.0...v1.6.0) (2026-06-30) ### Features * Support MCP 2026 draft specs ([googleapis#3544](googleapis#3544)) ([d12eaa8](googleapis@d12eaa8)) * **release:** Add digital signature to Toolbox binaries ([googleapis#3528](googleapis#3528)) ([3f0f0af](googleapis@3f0f0af)) * **tool/cloud-storage:** Configure object operation parameters ([googleapis#3529](googleapis#3529)) ([d6dc5fe](googleapis@d6dc5fe)) * **tool/cloud-storage:** Support configurable parameters ([googleapis#3478](googleapis#3478)) ([bc2de2a](googleapis@bc2de2a)) * **tools/dataplex-list-data-products:** Add dataplex-list-data-products tool ([googleapis#3337](googleapis#3337)) ([6dd669a](googleapis@6dd669a)) * **tools/dataplex-get-data-product:** Add dataplex-get-data-product tool ([googleapis#3499](googleapis#3499)) ([7ea7a09](googleapis@7ea7a09)) * **tools/dataplex-list-data-assets:** Add dataplex-list-data-assets tool ([googleapis#3500](googleapis#3500)) ([182f933](googleapis@182f933)) * **tools/looker:** Support complex filter_expression parameter in queries ([googleapis#3494](googleapis#3494)) ([997fb8c](googleapis@997fb8c)) * **tools/looker:** Support dynamic_fields parameter in queries ([googleapis#3507](googleapis#3507)) ([cd22b89](googleapis@cd22b89)) ### Bug Fixes * **tools/gda:** Support mTLS and GOOGLE_API_USE_MTLS_ENDPOINT for GDA client ([googleapis#3460](googleapis#3460)) ([cc2a61e](googleapis@cc2a61e)) * **tools/looker-conversational-analytics:** Validate explore_references shape instead of panicking ([googleapis#3531](googleapis#3531)) ([b67419d](googleapis@b67419d)) * **tool/looker-create-view-from-table:** Correct Looker API payload structure ([googleapis#3515](googleapis#3515)) ([18c539c](googleapis@18c539c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 35c13ad
🤖 I have created a release *beep* *boop* --- ## [1.6.0](googleapis/mcp-toolbox@v1.5.0...v1.6.0) (2026-06-30) ### Features * Support MCP 2026 draft specs ([googleapis#3544](googleapis#3544)) ([d12eaa8](googleapis@d12eaa8)) * **release:** Add digital signature to Toolbox binaries ([googleapis#3528](googleapis#3528)) ([3f0f0af](googleapis@3f0f0af)) * **tool/cloud-storage:** Configure object operation parameters ([googleapis#3529](googleapis#3529)) ([d6dc5fe](googleapis@d6dc5fe)) * **tool/cloud-storage:** Support configurable parameters ([googleapis#3478](googleapis#3478)) ([bc2de2a](googleapis@bc2de2a)) * **tools/dataplex-list-data-products:** Add dataplex-list-data-products tool ([googleapis#3337](googleapis#3337)) ([6dd669a](googleapis@6dd669a)) * **tools/dataplex-get-data-product:** Add dataplex-get-data-product tool ([googleapis#3499](googleapis#3499)) ([7ea7a09](googleapis@7ea7a09)) * **tools/dataplex-list-data-assets:** Add dataplex-list-data-assets tool ([googleapis#3500](googleapis#3500)) ([182f933](googleapis@182f933)) * **tools/looker:** Support complex filter_expression parameter in queries ([googleapis#3494](googleapis#3494)) ([997fb8c](googleapis@997fb8c)) * **tools/looker:** Support dynamic_fields parameter in queries ([googleapis#3507](googleapis#3507)) ([cd22b89](googleapis@cd22b89)) ### Bug Fixes * **tools/gda:** Support mTLS and GOOGLE_API_USE_MTLS_ENDPOINT for GDA client ([googleapis#3460](googleapis#3460)) ([cc2a61e](googleapis@cc2a61e)) * **tools/looker-conversational-analytics:** Validate explore_references shape instead of panicking ([googleapis#3531](googleapis#3531)) ([b67419d](googleapis@b67419d)) * **tool/looker-create-view-from-table:** Correct Looker API payload structure ([googleapis#3515](googleapis#3515)) ([18c539c](googleapis@18c539c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 35c13ad
🤖 I have created a release *beep* *boop* --- ## [1.6.0](googleapis/mcp-toolbox@v1.5.0...v1.6.0) (2026-06-30) ### Features * Support MCP 2026 draft specs ([googleapis#3544](googleapis#3544)) ([d12eaa8](googleapis@d12eaa8)) * **release:** Add digital signature to Toolbox binaries ([googleapis#3528](googleapis#3528)) ([3f0f0af](googleapis@3f0f0af)) * **tool/cloud-storage:** Configure object operation parameters ([googleapis#3529](googleapis#3529)) ([d6dc5fe](googleapis@d6dc5fe)) * **tool/cloud-storage:** Support configurable parameters ([googleapis#3478](googleapis#3478)) ([bc2de2a](googleapis@bc2de2a)) * **tools/dataplex-list-data-products:** Add dataplex-list-data-products tool ([googleapis#3337](googleapis#3337)) ([6dd669a](googleapis@6dd669a)) * **tools/dataplex-get-data-product:** Add dataplex-get-data-product tool ([googleapis#3499](googleapis#3499)) ([7ea7a09](googleapis@7ea7a09)) * **tools/dataplex-list-data-assets:** Add dataplex-list-data-assets tool ([googleapis#3500](googleapis#3500)) ([182f933](googleapis@182f933)) * **tools/looker:** Support complex filter_expression parameter in queries ([googleapis#3494](googleapis#3494)) ([997fb8c](googleapis@997fb8c)) * **tools/looker:** Support dynamic_fields parameter in queries ([googleapis#3507](googleapis#3507)) ([cd22b89](googleapis@cd22b89)) ### Bug Fixes * **tools/gda:** Support mTLS and GOOGLE_API_USE_MTLS_ENDPOINT for GDA client ([googleapis#3460](googleapis#3460)) ([cc2a61e](googleapis@cc2a61e)) * **tools/looker-conversational-analytics:** Validate explore_references shape instead of panicking ([googleapis#3531](googleapis#3531)) ([b67419d](googleapis@b67419d)) * **tool/looker-create-view-from-table:** Correct Looker API payload structure ([googleapis#3515](googleapis#3515)) ([18c539c](googleapis@18c539c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 35c13ad
Fix: #996